With the proliferation of the World Wide Web and the Internet, the demand for web content and web-based application services has increased dramatically. Consequently, the demand for robust, scalable, and manageable servers to serve the content and to service the application requests has also increased dramatically. The term “server” in this context is intended to generally mean the computer software that provides the logic to serve at least the needs for content and application services.
Web servers are employed by enterprises and service providers to serve content. The demand for web servers includes stringent requirements with respect to the serving of content and to the management of the server in order to meet the high network traffic demands. Furthermore, with the trend toward development and delivery of more and more dynamic content, often based on user input and requests, web servers are required to provide a platform for servicing requests for dynamic content. Servicing content requests on a web server often requires execution of applications on the web server, in order to accept and process user input and to respond accordingly.
Application servers are employed by many organizations, from organizations that want to maintain an e-commerce presence to organizations that are in the business of providing applications through a network, i.e., application service providers. The demands on application servers are also high, due to requirements with respect to developing, deploying, and managing the applications that run on the server. Furthermore, application servers are required to provide services to, and thus interact with, other servers, enterprise directory, database repositories, client software, and multiple device platforms. Additional challenges are present as a result of the increasing number of available computing platforms that can access an application server, such as hand-held computers, Internet appliances, and wireless devices.
Application servers allow IT departments to fully leverage their back-end resources, e.g., legacy applications, distributed systems databases, and even other Web-based content, and make them available to customer, partners, and employees over enterprise networks, and/or the public Internet
Since applications are increasingly being run on web servers, and since applications running on application servers are requiring increasingly demanding functionality, a previously unmet need is recognized for leading-edge servers to provide a platform that serves the needs of application developers as well as server administrators. Application developers need to be able to monitor the loading and execution of their applications running on a server, during development, deployment, and the entire life-cycle of the application. Network, server, and service administrators, among others, need the capability to monitor applications running on their servers and networks. Furthermore, a previously unmet need is recognized for the ability to monitor applications at a certain level of operation, thus, to have an intimate knowledge of the application execution cycle. In order to efficiently and effectively monitor server-based applications, access to information about the execution of an application through standard or commonly used mechanisms is also needed.